/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.better.backend.mqReceiverService.examReceiver.model;


import com.better.common.mongo.model.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 考试管理模块(数据同步)
 *
 * @author
 * @version 2017-09-18
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("考试基本信息")
public class ExamModel extends BaseModel implements Serializable {

    private static final long serialVersionUID = 1L;
 /*   @ApiModelProperty(value = "主键ID",hidden=true)
    private String id;*/
    @ApiModelProperty(value ="考试名称")
    private String examName;        // 考试名称
    @ApiModelProperty(value ="考试类型（校考、班考）")
    private String examType;        // 考试类型
    @ApiModelProperty(value ="参考学校Id",hidden=true)
    private String schoolId;        // 参考学校Id
    @ApiModelProperty(value ="学校名称",hidden=true)
    private String schoolName;        // 学校名称
    @ApiModelProperty(value ="考试开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startDate;        // 考试开始时间
    @ApiModelProperty(value ="考试结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endDate;        // 考试结束时间
    @ApiModelProperty(value ="状态",hidden=true)
    private String status;        // 状态（新建，编辑试卷，导入成绩，分析设置，发布成绩）
    @ApiModelProperty(value ="状态名称",hidden=true)
    private String statusName;  //状态名称
    @ApiModelProperty(value ="参考单位，如果为校级考试，则表示年级信息，如果为班级考试，则表示班级信息")
    private List<ExamUnitModel> examUnitModels; //参考单位，如果为校级考试，则表示年级信息，如果为班级考试，则表示班级信息
    @ApiModelProperty(value ="是否流程操作",hidden=true)
    private String flow;//是否流程操作  1 是 空位否
    //年级名称，年级ID，如果为校级考试，则该字段为空。为班级考试，则该字段表示参考班级对应的年级信息
    private String gradeId;
    private String gradeName;
    //学期id
    private String studyId;
    //学期name
    private String studyName;
}